package com.ytt.core.service.service.student;

import com.ytt.core.model.common.SimpleDataDTO;
import com.ytt.core.model.student.StudentDto;
import com.ytt.core.model.student.StudentEditDto;
import com.ytt.core.model.student.StudentRegisterDto;
import com.ytt.core.service.service.BaseService;
import com.ytt.core.service.service.ProposalQueryParam;

public interface StudentService extends BaseService<StudentDto, StudentEditDto, ProposalQueryParam> {
    /**
     * 检查学号唯一性
     * @param id 学生id
     * @param studentId 学号id
     * @return 是否可以用
     */
    SimpleDataDTO<Boolean> checkStudentIdAvailability(String id, String studentId);

    /**
     * 通过学生的学号查找学生ID
     *
     * @param studentId 用户账号
     * @return 用户ID，否则返回null
     */
    String findByStudentId(String studentId);

    /**
     * 学生注册
     * @param studentRegisterDto 注册信息
     * @return
     */
    StudentDto register(StudentRegisterDto studentRegisterDto);
}
